HELM charts for Pyramid Kubernetes

Helm charts enable the installation of the Pyramid Platform on a Kubernetes cluster.

  • Pyramid's Helm charts and associated configuration files can be found the Github Repo. The associated help for using the Helm approach can also be found here.
  • Alternatively, you can perform the installing using the YAML configurator technique.

Basic HELM Installation

First, run the following command to install Keda to support the automatic scaling of Task Services and Web Server:

helm repo add kedacore https://kedacore.github.io/charts
helm install keda kedacore/keda --namespace keda --create-namespace

To support automatic scaling, run the following command, which installs the Metrics server. This step should NOT be performed when installing on GCP, since the Kubernetes engine on GCP comes pre-installed with the Metrics Server.

helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
helm install my-metrics-server metrics-server/metrics-server --version 3.9.0

Finally, install Pyramid by running:

helm repo add pyramid https://pyramidanalytics.github.io/helm/
helm install pyramid pyramid/pyramidanalytics

This will install in the default namespace. To install in a different namespace, use the following command:

helm install pyramid pyramid/pyramidanalytics --namespace=pyramid --create-namespace

HELM Customization

To fine-tune Pyramid, you can tweak different settings, such as:

  • The number of pod for each service
  • Disable scaling for each service or set scaling metrics
  • Min and max memory and CPU
  • Ephemeral storage min and max for each service
  • Persistence storage sizes and target
  • Unattended installation

To change those values and more details refer to the values yaml This file should be downloaded, and its values should be edited as you see fit, then run the following command to apply the changes:

helm install f .\values.yaml pyramid pyramid/pyramidanalytics

For example, to disable the auto scaling of the Task Service, edit under te -> kedaAutoscaling -> enabled and set it to false:

te:
	...snip...
	kedaAutoscaling:
	enabled: false